package com.sgj.common.enums;

import lombok.Getter;
import lombok.AllArgsConstructor;

/**
 * 错误码和错误定义信息类
 * 错误码定义规则为5位数字
 * 前两位为业务场景，后三位为错误码。例如：10000。10：通用  000：系统未知异常
 * 维护错误码需要维护错误描述，定义为枚举形式
 * 错误码列表：
 * 10：通用
 *      001：参数格式校验
 *      002：短信验证码发送频率过高
 *      003：令牌验证失败
 * 11：商品
 * 12：订单
 * 13：购物车
 * 14：物流
 * 15：用户
 * 21：库存
 */
@AllArgsConstructor
public enum BizCodeEnum {
    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VAILD_EXCEPTION(10001, "参数格式校验失败"),
    SMS_CODE_EXCEPTION(10002, "短信验证码发送频率过高，请稍后再试"),
    TOKEN_VAILD_EXCEPTION(10003, "令牌验证失败"),
    PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
    ORDER_PASS(12000, "订单创建成功"),
    USER_EXIST_EXCEPTION(15001, "用户已被注册"),
    PHONE_EXIST_EXCEPTION(15002, "手机号已被注册"),
    LOGINACCOUNT_PASSWORD_INVAILD_EXCEPTION(15003, "账号密码错误"),
    NO_STOCK_EXCEPTION(21001, "商品库存不足");

    @Getter
    private Integer code;

    @Getter
    private String message;
}